package dados;

import negocios.Funcionario;
import negocios.Usuario;
import negocios.excecoes.GestockException;

public class RepositorioUsuario implements IRepositorioUsuario {

	private static RepositorioUsuario instancia = null;

	public static RepositorioUsuario getInstancia() {

		if (instancia == null) {
			instancia = new RepositorioUsuario();
		}

		return instancia;

	}

	public void cadastrarUsuario(Usuario usuario, Funcionario funcionario)
			throws GestockException {

		try {
			ConexaoBDUsuario conecta = new ConexaoBDUsuario();
			conecta.cadastrarUsuario(usuario, funcionario);
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	public void apagarUsuario(int idAcesso) throws GestockException {
		try {
			ConexaoBDUsuario conecta = new ConexaoBDUsuario();
			conecta.apagarUsuario(idAcesso);
		}

		catch (Exception e) {
			e.printStackTrace();
		}

	}

	public Usuario consultarUsuario(String usuario_string)
			throws GestockException {
		Usuario usuario = null;
		try {
			ConexaoBDUsuario conecta = new ConexaoBDUsuario();
			usuario = conecta.consultarUsuario(usuario_string);
		}

		catch (Exception e) {
			e.printStackTrace();
		}

		return usuario;
	}

	public Usuario consultarUsuario2(String idFuncionario)
			throws GestockException {
		Usuario usuario = null;
		try {
			ConexaoBDUsuario conecta = new ConexaoBDUsuario();
			usuario = conecta.consultarUsuario2(idFuncionario);
		}

		catch (Exception e) {
			e.printStackTrace();
		}

		return usuario;
	}

	public void alterarUsuario(Usuario usuario) throws GestockException {
		try {
			ConexaoBDUsuario conecta = new ConexaoBDUsuario();
			conecta.alterarUsuario(usuario);
		}

		catch (Exception e) {
			e.printStackTrace();
		}

	}

	public void alterarSenhaUsuario(int idAcesso, String senha)
			throws GestockException {
		try {
			ConexaoBDUsuario conecta = new ConexaoBDUsuario();
			conecta.alterarSenhaUsuario(idAcesso, senha);
		}

		catch (Exception e) {
			e.printStackTrace();
		}

	}

}
